package com.bjsxt.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bjsxt.domain.CashRecharge;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.CashRechargeAuditRecord;
import com.bjsxt.model.CashParam;
import com.bjsxt.vo.CashTradeVo;

/**
* @date:2022/1/13 20:50
* @author:yang
*/
public interface CashRechargeService extends IService<CashRecharge>{


        /**
         * 查询充值记录
         * @param page
         * @param coinId
         * @param userId
         * @param userName
         * @param mobile
         * @param status
         * @param numMin
         * @param numMax
         * @param startTime
         * @param endTime
         * @return
         */
        Page<CashRecharge> findByPage(Page<CashRecharge> page, Long coinId, Long userId, String userName, String mobile, Byte status, String numMin, String numMax, String startTime, String endTime);

        /**
         * 现金充值审核
         * @param userId
         * @param cashRechargeAuditRecord
         * @return
         */
        boolean cashRechargeAudit(Long userId, CashRechargeAuditRecord cashRechargeAuditRecord);

        /**
         * 查询当前用户的充值记录
         * @param page
         * @param userId
         * @param status
         * @return
         */
        Page<CashRecharge> findUserCashRecharge(Page<CashRecharge> page, Long userId, Byte status);

        /**
         * 进行GCN的充值
         * @param userId
         * @param cashParam
         * @return
         */
        CashTradeVo buy(Long userId, CashParam cashParam);
}
